﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Threading;

namespace OEMS
{
    /// <summary>
    /// De hoofdform
    /// </summary>
    /// <author>Ronald Geladé</author>
    public partial class MainForm : Form
    {
        private LoginForm frm;
        private String currentUser;
        private List<Motor> motoren = new List<Motor>();
        private List<Overbrenging> overbrengingen = new List<Overbrenging>();
        private List<Belasting> belastingen = new List<Belasting>();

        #region MainFormMethods

        public MainForm(LoginForm form, String user, int position)
        {
            InitializeComponent();
            this.Show();
            frm = form;
            currentUser = user;
            frm.Visible = false;
            checkLastBackup();

            if (Properties.Settings.Default.Rechten[position].Equals("User"))
            {
                setUserSettings();
            }

            Thread fillAllLB = new Thread(new ThreadStart(refreshAll));
            fillAllLB.Start();
            CheckForIllegalCrossThreadCalls = false;
            this.Text += " - User: " + currentUser;
        }

        private void MainForm_FormClosed(object sender, FormClosedEventArgs e)
        {
            frm.Dispose();
        }

        /// <summary>
        /// Controleert laatste backup
        /// </summary>
        /// <author>Nick Lauryssen</author>
        private void checkLastBackup()
        {
            int backup_seq = Properties.Settings.Default.BackupSeq;

            if (DateTime.Now > Properties.Settings.Default.LastBackup.AddDays(backup_seq) && Properties.Settings.Default.PerformAsk)
            {
                DialogResult result = MessageBox.Show("Het is al meer dan " + backup_seq + " dag(en) geleden dat u een backup heeft gemaakt.\n Wilt u een nieuwe maken?", "Backup Information", MessageBoxButtons.YesNo, MessageBoxIcon.Information);
                if (result == DialogResult.Yes)
                {
                    BackupForm.executeFile("backup.bat",Properties.Settings.Default.SourceFolder, Properties.Settings.Default.DestFolder);
                }
            }
        }

        /// <summary>
        /// Zorgt ervoor dat de gebruiker beperkte mogelijkheden heeft
        /// </summary>
        /// <author>Nick Lauryssen</author>
        private void setUserSettings()
        {
            gebruikersToolStripMenuItem.Visible = false;
            backupToolStripMenuItem.Visible = false;
            importToolStripMenuItem.Visible = false;
            importerenGroupBox.Visible = false;
            exporterenGroupBox.Location = new Point(269, 300);
        }

        #endregion

        #region ToolStripMenuMethods

        /// <summary>
        /// Opent een aboutvenster
        /// </summary>
        /// <author>Ronald Geladé</author>
        private void overOnsToolStripMenuItem_Click(object sender, EventArgs e)
        {
            AboutForm af = new AboutForm();
            af.Show();
        }

        private void importToolStripMenuItem_Click(object sender, EventArgs e)
        {
            ImportForm imp = new ImportForm();
            if (imp.ShowDialog() == DialogResult.OK)
            {
               refreshMotoren();
            }
        
        }

        private void backupToolStripMenuItem_Click(object sender, EventArgs e)
        {
            BackupForm backup = new BackupForm();
            backup.Show();
        }

        /// <summary>
        /// Sluit het programma af
        /// </summary>
        /// <author>Ronald Geladé</author>
        private void afsluitenToolStripMenuItem_Click(object sender, EventArgs e)
        {
            this.Close();
            frm.Dispose();
        }

        private void exportToolStripMenuItem_Click(object sender, EventArgs e)
        {
            ExportForm exp = new ExportForm();
            exp.Show();
        }

        private void visualisatieToolStripMenuItem_Click(object sender, EventArgs e)
        {
            VisualisatieSettingsForm vf = new VisualisatieSettingsForm();
            vf.Show();
        }

        private void gebruikersToolStripMenuItem_Click(object sender, EventArgs e)
        {
            GebruikersEditForm form = new GebruikersEditForm(currentUser);
            form.Show();
        }
        
        #endregion

        #region Listview and ComboBox FillMethods

        /// <summary>
        /// Vernieuwt alle info op de mainform
        /// </summary>
        /// <author>Ronald Geladé</author>
        private void refreshAll()
        {
            refreshMotoren();
            refreshOverbrengingen();
            refreshBelastingen();
        }

        /// <summary>
        /// Vernieuwt de motoreninfo op de mainform
        /// </summary>
        /// <author>Ronald Geladé</author>
        private void refreshMotoren()
        {
            motoren = MotorDB.GetMotors();
            fillMotorListView();
            fillMotorComboBox(motorGrafiekComboBox);
            fillMotorComboBox(motorExporterenComboBox);

        }

        /// <summary>
        /// Vernieuwt de overbrengingeninfo op de mainform
        /// </summary>
        /// <author>Ronald Geladé</author>
        private void refreshOverbrengingen()
        {
            //overbrengingen = OverbrengingDB.GetOverbrengingen();
            fillOverbrengingListView();
            fillOverbrengingComboBox(overbrengingGrafiekComboBox);
            fillOverbrengingComboBox(overbrengingExporterenComboBox);
        }

        /// <summary>
        /// Vernieuwt de belastingeninfo op de mainform
        /// </summary>
        /// <author>Ronald Geladé</author>
        private void refreshBelastingen()
        {
            //belastingen = BelastingDB.GetBelastingen();
            fillBelastingListView();
            fillBelastingComboBox(belastingGrafiekComboBox);
            fillBelastingComboBox(belastingExporterenComboBox);
        }

        /// <summary>
        /// Vult de motorlistview
        /// </summary>
        /// <author>Ronald Geladé</author>
        private void fillMotorListView()
        {
            motorListView.Items.Clear();
            for (int i = 0; i < motoren.Count; i++)
            {
                motorListView.Items.Add(motoren[i].NominaalVermogen.ToString().Substring(0,4) + "kW");
                motorListView.Items[i].SubItems.Add(motoren[i].Klasse);
                motorListView.Items[i].SubItems.Add(motoren[i].NominaalToerental.ToString().Substring(0, 4));
                motorListView.Items[i].SubItems.Add(motoren[i].GegevensId.ToString());
            }
        }

        /// <summary>
        /// Vult de overbrengingslistview
        /// </summary>
        /// <author>Ronald Geladé</author>
        private void fillOverbrengingListView()
        {
            overbrengingListView.Items.Clear();
            for (int i = 0; i < overbrengingen.Count; i++)
            {
                overbrengingListView.Items.Add(overbrengingen[i].Type);
                overbrengingListView.Items[i].SubItems.Add(overbrengingen[i].GegevensId.ToString());
            }
        }

        /// <summary>
        /// Vult de belastingslistview
        /// </summary>
        /// <author>Ronald Geladé</author>
        private void fillBelastingListView()
        {
            belastingListView.Items.Clear();
            for (int i = 0; i < belastingen.Count; i++)
            {
                belastingListView.Items.Add(belastingen[i].Type);
                belastingListView.Items[i].SubItems.Add(belastingen[i].GegevensId.ToString());
            }
        }

        /// <summary>
        /// Vult een combobox met alle motorgegevens
        /// </summary>
        /// <param name="comboBox">Te vullen combobox</param>
        /// <author>Ronald Geladé</author>
        private void fillMotorComboBox(ComboBox comboBox)
        {
            string motorText;
            comboBox.Items.Clear();

            for( int i = 0; i < motoren.Count; i++)
            {
                motorText = motoren[i].NominaalVermogen.ToString().Substring(0, 4) + "kW " + motoren[i].Klasse + " " + motoren[i].NominaalToerental.ToString().Substring(0, 4);
                comboBox.Items.Add(motorText);
            }
        }

        /// <summary>
        /// Vult een combobox met alle overbrengingsgegevens
        /// </summary>
        /// <param name="comboBox">Te vullen combobox</param>
        /// <author>Ronald Geladé</author>
        private void fillOverbrengingComboBox(ComboBox comboBox)
        {
            string overbrengingtext;
            comboBox.Items.Clear();

            for (int i = 0; i < overbrengingen.Count; i++)
            {
                overbrengingtext = overbrengingen[i].Type;
                comboBox.Items.Add(overbrengingtext);
            }
        }

        /// <summary>
        /// Vult een combobox met alle belastingsgegevens
        /// </summary>
        /// <param name="comboBox">Te vullen combobox</param>
        /// <author>Ronald Geladé</author>
        private void fillBelastingComboBox(ComboBox comboBox)
        {
            string belastingtext;
            comboBox.Items.Clear();

            for (int i = 0; i < belastingen.Count; i++)
            {
                belastingtext = belastingen[i].Type;
                comboBox.Items.Add(belastingtext);
            }
        }

        private void enableImportComboBox(bool waarde)
        {
            koppelSheetComboBox.Enabled = waarde;
            toerentalSheetComboBox.Enabled = waarde;
            toerentalTxt.Enabled = waarde;
            rendementenListBox.Enabled = waarde;
            importerenBtn.Enabled = waarde;
        }

        private void fillImportComboBox()
        {
            clearImportComboBox();
            rendementenListBox.Items.AddRange(Import.workSheetNames);
            koppelSheetComboBox.Items.AddRange(Import.workSheetNames);
            toerentalSheetComboBox.Items.AddRange(Import.workSheetNames);
        }

        private void clearImportComboBox()
        {
            rendementenListBox.Items.Clear();
            koppelSheetComboBox.Items.Clear();
            toerentalSheetComboBox.Items.Clear();
        }

        #endregion

        #region Toon grafiek bij dubbelklik methods

        private void motorListView_DoubleClick(object sender, EventArgs e)
        {
            if (motorListView.SelectedIndices.Count > 0)
            {
                int gegevensId = Convert.ToInt32(motorListView.SelectedItems[0].SubItems[3].Text);
                Motor motor = MotorDB.GetMotorFromId(gegevensId);
            }

            VisualisatieForm graph = new VisualisatieForm(4);
            graph.Show();
        }

        private void overbrengingListView_DoubleClick(object sender, EventArgs e)
        {
            // nog te coderen
        }

        private void belastingListView_DoubleClick(object sender, EventArgs e)
        {
            // nog te coderen
        }

        #endregion

        #region GrafiekGroupBoxMethods

        /// <summary>
        /// Opent een visualisatieform met het geselecteerde onderdeel
        /// </summary>
        /// <author>Ronald Geladé</author>
        private void ToonGrafiekGrafiekButton_Click(object sender, EventArgs e)
        {
            // Comboboxen controleren en gekozen onderdeel exporteren

            if (onderdeelGrafiekComboBox.SelectedIndex == -1)
            {
                MessageBox.Show("Selecteer een onderdeel alvorens te exporteren.");
            }
            else if (onderdeelGrafiekComboBox.Text.Equals("Motor"))
            {
                // Motor exporteren

                if (motorGrafiekComboBox.SelectedIndex == -1)
                {
                    MessageBox.Show("Selecteer een motor alvorens te exporteren.");
                }
                else
                {
                    Motor motor = motoren[motorGrafiekComboBox.SelectedIndex];

                }
            }
            else if (onderdeelGrafiekComboBox.Text.Equals("Overbrenging"))
            {
                // Overbrenging exporteren

                if (overbrengingGrafiekComboBox.SelectedIndex == -1)
                {
                    MessageBox.Show("Selecteer een motor alvorens te exporteren.");
                }
                else
                {
                    Overbrenging overbrenging = overbrengingen[overbrengingGrafiekComboBox.SelectedIndex];

                }
            }
            else if (onderdeelGrafiekComboBox.Text.Equals("Belasting"))
            {
                // Belasting exporteren

                if (belastingGrafiekComboBox.SelectedIndex == -1)
                {
                    MessageBox.Show("Selecteer een belasting alvorens te exporteren.");
                }
                else
                {
                    Belasting belasting = belastingen[belastingGrafiekComboBox.SelectedIndex];

                }
            }
            else if (onderdeelGrafiekComboBox.Text.Equals("Combinatie"))
            {
                // Combinatie exporteren (MOET NOG AANGEVULD WORDEN DOOR RONALD)

                if ((motorGrafiekComboBox.SelectedIndex == -1) || (overbrengingGrafiekComboBox.SelectedIndex == -1) || (belastingGrafiekComboBox.SelectedIndex == -1))
                {
                    MessageBox.Show("Selecteer motor, overbrenging en belasting alvorens te exporteren.");
                }
                else
                {
                    Motor motor = motoren[motorGrafiekComboBox.SelectedIndex];

                }
            }
        }

        /// <summary>
        /// Past de zichtbaarheid van de listboxen van de onderdelen aan
        /// </summary>
        /// <author>Ronald Geladé</author>
        private void onderdeelGrafiekComboBox_SelectedIndexChanged(object sender, EventArgs e)
        {
            string onderdeel = onderdeelGrafiekComboBox.Text;
            motorGrafiekComboBox.Enabled = false;
            motorGrafiekLabel.Enabled = false;
            overbrengingGrafiekComboBox.Enabled = false;
            overbrengingGrafiekLabel.Enabled = false;
            belastingGrafiekComboBox.Enabled = false;
            belastingGrafiekLabel.Enabled = false;

            if (onderdeel.Equals("Motor"))
            {
                motorGrafiekComboBox.Enabled = true;
                motorGrafiekLabel.Enabled = true;
            }
            else if (onderdeel.Equals("Overbrenging"))
            {
                overbrengingGrafiekComboBox.Enabled = true;
                overbrengingGrafiekLabel.Enabled = true;
            }
            else if (onderdeel.Equals("Belasting"))
            {
                belastingGrafiekComboBox.Enabled = true;
                belastingGrafiekLabel.Enabled = true;
            }
            else if (onderdeel.Equals("Combinatie"))
            {
                motorGrafiekComboBox.Enabled = true;
                motorGrafiekLabel.Enabled = true;
                overbrengingGrafiekComboBox.Enabled = true;
                overbrengingGrafiekLabel.Enabled = true;
                belastingGrafiekComboBox.Enabled = true;
                belastingGrafiekLabel.Enabled = true;
            }
        }

        /// <summary>
        /// Opent een VisualisatieSettingsForm
        /// </summary>
        /// <author>Ronald Geladé</author>
        private void InstellingenGrafiekWijzigenButton_Click(object sender, EventArgs e)
        {
            VisualisatieSettingsForm vf = new VisualisatieSettingsForm();
            vf.Show();
        }

        #endregion

        #region ImporterenGroupBoxMethods

        private void onderdelenComboBox_SelectedIndexChanged(object sender, EventArgs e)
        {
            clearImportComboBox();
            rendementenListBox.Enabled = true;

            openFileDialog1.FileName = " ";
            openFileDialog1.Filter = "Excel 2007 files (*.xlsx)|*.xlsx|Excel 97-2003 files (*.xls)|*.xls";
            if (openFileDialog1.ShowDialog(this) == DialogResult.Cancel)
            {

                return;
            }

            Import.CheckExtentie(openFileDialog1.FileName);

            rendementenListBox.Items.AddRange(Import.workSheetNames);
            koppelSheetComboBox.Items.AddRange(Import.workSheetNames);
            toerentalSheetComboBox.Items.AddRange(Import.workSheetNames);

        }

        private void importerenBtn_Click(object sender, EventArgs e)
        {
            if (onderdelenComboBox.Text.Equals("Motor") || onderdelenComboBox.Text.Equals("Overbrenging") || onderdelenComboBox.Text.Equals("Belasting"))
            {

                if (rendementenListBox.CheckedItems.Count < 1)
                {
                    MessageBox.Show("Selecteer minstens 1 sheet aub!");
                    return;

                }
                else if ((toerentalTxt.Text.Equals("") || Convert.ToInt32(toerentalTxt.Text) < 0 || Convert.ToInt32(toerentalTxt.Text) < 1000))
                {
                    MessageBox.Show("Geef een geldig nominaal toerental in aub!");
                    return;
                }
                else if (toerentalSheetComboBox.SelectedItem == null)
                {
                    MessageBox.Show("Selecteer een toerental sheet aub!");
                    return;

                }
                else if (koppelSheetComboBox.SelectedItem == null)
                {
                    MessageBox.Show("Selecteer een koppel sheet aub!");
                    return;
                }



            }
            else
            {
                MessageBox.Show("Selecteer een onderdeel voor dat je gaat importeren!");
                return;
            }

            Import.koppelSheet = koppelSheetComboBox.SelectedItem.ToString();
            Import.toerentalSheet = toerentalSheetComboBox.SelectedItem.ToString();
            Import.rendementSheet = new string[rendementenListBox.CheckedItems.Count];
            Import.nomToerental = Convert.ToInt32(toerentalTxt.Text);

            //saveBar.Maximum = (Import.rendementSheet.Length * 2);
            //saveBar.Visible = true;

            enableImportComboBox(false);

            backgroundWorker1.RunWorkerAsync();

        }

        private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
        {
            for (int i = 0; i < rendementenListBox.CheckedItems.Count; i++)
            {
                Import.rendementSheet[i] = rendementenListBox.CheckedItems[i].ToString();
            }

            //moment sheet values opslaan in een array
            Import.GetWorksheet(Import.koppelSheet);
            Import.saveSheet(Import.excelDataSet, Import.koppelSheet);


            //toerental sheet values opslaan in array
            Import.GetWorksheet(Import.toerentalSheet);
            Import.saveSheet(Import.excelDataSet, Import.toerentalSheet);
            //    backgroundWorker1.ReportProgress(saveBarIndex += 1);

            //rendement sheets opslaan in database
            for (int i = 0; i < Import.rendementSheet.Length; i++)
            {
                Import.sheetNaamIndex = Import.rendementSheet[i].IndexOf("kW");
                Import.klasse = Import.rendementSheet[i].Substring(Import.sheetNaamIndex + 3);
                Import.nomVerm = Convert.ToDecimal(Import.rendementSheet[i].Substring(0, Import.sheetNaamIndex));

                //controleren of de motor niet al in de database zit..
                if (Import.CheckMotorInDatabase(Import.klasse, Import.nomVerm, Import.nomToerental))
                {
                    //  backgroundWorker1.ReportProgress(saveBarIndex += 2);

                }
                else
                {
                    Import.GetWorksheet(Import.rendementSheet[i]);
                    Import.saveMotor(Import.excelDataSet, Import.rendementSheet[i]);
                    //  backgroundWorker1.ReportProgress(saveBarIndex += 1);
                    Import.saveSheet(Import.excelDataSet, Import.rendementSheet[i]);
                    //                    backgroundWorker1.ReportProgress(saveBarIndex += 1);

                }
            }
            Thread.Sleep(1000);
        }

        private void backgroundWorker1_ProgressChanged(object sender, ProgressChangedEventArgs e)
        {

        }

        private void backgroundWorker1_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
        {
            clearImportComboBox();
            enableImportComboBox(false);
            importerenBtn.Enabled = true;
            onderdelenComboBox.Text = "";

        }

        private void rendementenListBox_ItemCheck(object sender, ItemCheckEventArgs e)
        {

            toerentalTxt.Enabled = true;
            toerentalSheetComboBox.Enabled = true;

        }

        private void toerentalSheetComboBox_SelectedIndexChanged(object sender, EventArgs e)
        {
            koppelSheetComboBox.Enabled = true;
        }





        #endregion

        #region ExporterenGroupBoxMethods

        /// <summary>
        /// Past de zichtbaarheid van de listboxen van de onderdelen aan
        /// </summary>
        /// <author>Ronald Geladé</author>
        private void onderdeelComboBox_SelectedIndexChanged(object sender, EventArgs e)
        {
            string onderdeel = onderdeelExporterenComboBox.Text;
            motorExporterenComboBox.Enabled = false;
            motorExporterenLabel.Enabled = false;
            overbrengingExporterenComboBox.Enabled = false;
            overbrengingExporterenLabel.Enabled = false;
            belastingExporterenComboBox.Enabled = false;
            belastingExporterenLabel.Enabled = false;

            if (onderdeel.Equals("Motor"))
            {
                motorExporterenComboBox.Enabled = true;
                motorExporterenLabel.Enabled = true;
            }
            else if (onderdeel.Equals("Overbrenging"))
            {
                overbrengingExporterenComboBox.Enabled = true;
                overbrengingExporterenLabel.Enabled = true;
            }
            else if (onderdeel.Equals("Belasting"))
            {
                belastingExporterenComboBox.Enabled = true;
                belastingExporterenLabel.Enabled = true;
            }
            else if (onderdeel.Equals("Combinatie"))
            {
                motorExporterenComboBox.Enabled = true;
                motorExporterenLabel.Enabled = true;
                overbrengingExporterenComboBox.Enabled = true;
                overbrengingExporterenLabel.Enabled = true;
                belastingExporterenComboBox.Enabled = true;
                belastingExporterenLabel.Enabled = true;
            }
        }

        /// <summary>
        /// Slaat het geselecteerde onderdeel op als pdf of excelbestand
        /// </summary>
        /// <author>Ronald Geladé</author>
        private void exporteerButton_Click(object sender, EventArgs e)
        {
            string bestandsType;
            Boolean grafiek = false;
            string filePath;
            SaveFileDialog sfd = new SaveFileDialog();
            DialogResult result = DialogResult.Cancel;

            string fileNaam = "";
       

            // Bestandstype bepalen

            if (excelRadioButton.Checked)
            {
                bestandsType = "excel";
                sfd.Filter = "Excel 2007 files (*.xlsx)|*.xlsx|Excel 97-2003 files (*.xls)|*.xls";
                sfd.FileName = ".xlsx";
            }
            else
            {
                bestandsType = "pdf";
                sfd.Filter = "PDF (*.pdf)|*.pdf";
                sfd.FileName = ".pdf";
            }

            // Bepalen of de grafiek mee geëxporteerd wordt

            if (grafiekCheckBox.Checked)
            {
                grafiek = true;
            }

            // Comboboxen controleren en gekozen onderdeel exporteren

            if (onderdeelExporterenComboBox.SelectedIndex == -1)
            {
                MessageBox.Show("Selecteer een onderdeel alvorens te exporteren.");
            }
            else if (onderdeelExporterenComboBox.Text.Equals("Motor"))
            {
                // Motor exporteren

                if (motorExporterenComboBox.SelectedIndex == -1)
                {
                    MessageBox.Show("Selecteer een motor alvorens te exporteren.");
                }
                else
                {
                   
                    Motor motor = motoren[motorExporterenComboBox.SelectedIndex];
                    fileNaam = Export.setFileName(motorExporterenComboBox.SelectedIndex, onderdeelExporterenComboBox.SelectedItem.ToString(), motoren, null, null) + fileNaam;
                    sfd.FileName = fileNaam;

                    result = sfd.ShowDialog();
                    if (result == DialogResult.OK)
                    {
                        filePath = sfd.FileName;
                        Export.ToFile(filePath, motor, bestandsType, grafiek);
                    }
                }
            }
            else if (onderdeelExporterenComboBox.Text.Equals("Overbrenging"))
            {
                // Overbrenging exporteren

                if (overbrengingExporterenComboBox.SelectedIndex == -1)
                {
                    MessageBox.Show("Selecteer een motor alvorens te exporteren.");
                }
                else
                {
                    Overbrenging overbrenging = overbrengingen[overbrengingExporterenComboBox.SelectedIndex];

                    result = sfd.ShowDialog();
                    if (result == DialogResult.OK)
                    {
                        filePath = sfd.FileName;
                        //Export.ToFile(filePath, overbrenging, bestandsType, grafiek);
                    }
                }
            }
            else if (onderdeelExporterenComboBox.Text.Equals("Belasting"))
            {
                // Belasting exporteren

                if (belastingExporterenComboBox.SelectedIndex == -1)
                {
                    MessageBox.Show("Selecteer een belasting alvorens te exporteren.");
                }
                else
                {
                    Belasting belasting = belastingen[belastingExporterenComboBox.SelectedIndex];

                    result = sfd.ShowDialog();
                    if (result == DialogResult.OK)
                    {
                        filePath = sfd.FileName;
                        // Export.ToFile(filePath, belasting, bestandsType, grafiek);
                    }
                }
            }
            else if (onderdeelExporterenComboBox.Text.Equals("Combinatie"))
            {
                // Combinatie exporteren (MOET NOG AANGEVULD WORDEN DOOR RONALD)

                if ((motorExporterenComboBox.SelectedIndex == -1) || (overbrengingExporterenComboBox.SelectedIndex == -1) || (belastingExporterenComboBox.SelectedIndex == -1))
                {
                    MessageBox.Show("Selecteer motor, overbrenging en belasting alvorens te exporteren.");
                }
                else
                {
                    Motor motor = motoren[motorExporterenComboBox.SelectedIndex];

                    result = sfd.ShowDialog();
                    if (result == DialogResult.OK)
                    {
                        filePath = sfd.FileName;
                        Export.ToFile(filePath, motor, bestandsType, grafiek);
                    }
                }
            }
        }

        #endregion

       

    }
}
